﻿using System;
using System.Data.Entity;
using System.Linq;
using System.Windows.Forms;
using AppAcc.Models;

namespace AppAcc.Views.HeThong
{
    public partial class FormThongTinDonViKeToan : DevComponents.DotNetBar.RibbonForm
    {
        public FormThongTinDonViKeToan()
        {
            InitializeComponent();
            this.MaximizeBox = false;
            this.MinimizeBox = false;
        }
        //private AppAccContext db = new AppAccContext();
        private PhanMenKeToanEntities1 db = new PhanMenKeToanEntities1();
        private void FormThongTinDonViKeToan_Load(object sender, EventArgs e)
        {
            var f = db.ThongTinDonViKeToans.Find(1);
            txtDiaChi.Text = f.DiaChi;
            txtDienThoai.Text = f.DienThoai;
            txtDonViCap.Text = f.DonViCap;
            txtDonViChuQuan.Text = f.TenDonVi;
            txtDonViChuQuan.Enabled = false;
            txtEmail.Text = f.HomThu;
            txtFax.Text = f.Fax;
            txtGiamDoc.Text = f.GiamDoc;
            txtGiayPhepKD.Text = f.GiayPhepDKKD;
            txtKeToanTongHop.Text = f.KeToanTongHop;
            txtKeToanTruong.Text = f.KeToanTruong;
            txtKyHieuHoaDon.Text = f.KyHieuHoaDon;
            txtMaDonVi.Text = f.Id.ToString();
            txtMaDonVi.Enabled = false;
            txtMaSoThue.Text = f.MaSoThue;
            txtMauSoHoaDon.Text = f.MauSoHoaDon;
            txtNguoiLapPhieu.Text = f.NguoiLapPhieu;
            txtSoTaiKhoan.Text = f.SoTaiKhoan;
            txtTenDonVi.Text = f.TenDonVi;
            txtThuKho.Text = f.ThuKho;
            txtThuMucBaoCao.Text = f.UrlXuatFileBaoCaoExcel;
            txtThuQuy.Text = f.ThuQuy;
            txtWebsite.Text = f.WebSite;
            dtiCapNgay.Value = (DateTime) f.CapNgay;
            KhoiTaoData();
            cbbChuKyPhanBoKhauHao.SelectedValue = f.ChuKyKhauHao;
            cbbPhuongPhapKhauHao.SelectedValue = f.PhuongPhapKhauHao;
            cbbHinhThucGhiSo.SelectedValue = f.HinhThucGhiSo;
            cbbKieuTepExcel.SelectedValue = f.KieuTepExcel;
            cbbPhuongPhapXuatKho.SelectedValue = f.PhuongPhapXuatKho;
            cbbQuyDinh.SelectedValue = f.QuyDinh;
            if (f.ChoPhepChiAmQuy == true)
            {
                ckbChoPhepChiAmQuy.Checked = true;
            }
            else
            {
                ckbChoPhepChiAmQuy.Checked = false;
            }
            if (f.ChoPhepXuatKhoAm == true)
            {
                ckbChoPhepXuatKhoAm.Checked = true;
            }
            else
            {
                ckbChoPhepXuatKhoAm.Checked = false;
            }
            if (f.InPhieuNhapKhoCothue == true)
            {
                ckbInPhieuNhapKhoCoThue.Checked = true;
            }
            else
            {
                ckbInPhieuNhapKhoCoThue.Checked = false;
            }
        }

        private void bttThuMucBaoCao_Click(object sender, EventArgs e)
        {
            var f = fbdThuMucBaoCaoExcel;
            f.ShowDialog();
        }

        private void bttLuu_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Bạn thực sự muốn thay đổi thông tin!", "Xác nhận", MessageBoxButtons.YesNo,
                    MessageBoxIcon.Question) != DialogResult.Yes) return;
            Edit();
        }

        private void bttThoat_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Bạn chắc chắn muốn thoát!", "Thông báo", MessageBoxButtons.YesNo,MessageBoxIcon.Question) == DialogResult.Yes)
            {
                this.Close();
            }
        }

        void Edit()
        {
            var f = db.ThongTinDonViKeToans.Find(1);
            f.DiaChi = txtDiaChi.Text;
            f.DienThoai = txtDienThoai.Text;
            f.DonViCap = txtDonViCap.Text;
            f.HomThu = txtEmail.Text;
            f.Fax = txtFax.Text;
            f.GiamDoc = txtGiamDoc.Text;
            f.GiayPhepDKKD = txtGiayPhepKD.Text;
            f.KeToanTongHop = txtKeToanTongHop.Text;
            f.KeToanTruong = txtKeToanTruong.Text;
            f.KyHieuHoaDon = txtKyHieuHoaDon.Text;
            f.MaSoThue = txtMaSoThue.Text;
            f.MauSoHoaDon = txtMauSoHoaDon.Text;
            f.NguoiLapPhieu = txtNguoiLapPhieu.Text;
            f.SoTaiKhoan = txtSoTaiKhoan.Text;
            f.TenDonVi = txtTenDonVi.Text;
            f.ThuKho = txtThuKho.Text;
            f.UrlXuatFileBaoCaoExcel = txtThuMucBaoCao.Text;
            f.ThuQuy = txtThuQuy.Text;
            f.WebSite = txtWebsite.Text;
            f.CapNgay = dtiCapNgay.Value;
            f.ChuKyKhauHao = Convert.ToInt32(cbbChuKyPhanBoKhauHao.SelectedValue);
            f.PhuongPhapKhauHao = Convert.ToInt32(cbbPhuongPhapKhauHao.SelectedValue);
            f.HinhThucGhiSo = Convert.ToInt32(cbbHinhThucGhiSo.SelectedValue);
            f.KieuTepExcel = Convert.ToInt32(cbbKieuTepExcel.SelectedValue);
            f.PhuongPhapXuatKho = Convert.ToInt32(cbbPhuongPhapXuatKho.SelectedValue);
            f.QuyDinh = Convert.ToInt32(cbbQuyDinh.SelectedValue);
            if (ckbChoPhepChiAmQuy.Checked == true)
            {
                f.ChoPhepChiAmQuy = true;
            }
            else
            {
                f.ChoPhepChiAmQuy = false;
            }
            if (ckbChoPhepXuatKhoAm.Checked == true)
            {
                f.ChoPhepXuatKhoAm = true;
            }
            else
            {
                f.ChoPhepXuatKhoAm = false;
            }
            if (ckbInPhieuNhapKhoCoThue.Checked == true)
            {
                f.InPhieuNhapKhoCothue = true;
            }
            else
            {
                f.InPhieuNhapKhoCothue = false;
            }
            try
            {
                db.Entry(f).State = EntityState.Modified;
                db.SaveChanges();
            }
            catch (Exception e)
            {
                MessageBox.Show("Cập nhập không thành công!");
                //MessageBox.Show(e.Message);
            }

        }
        private class Item
        {
            private string Name;
            private int Value;
            public Item(string name, int value)
            {
                Name = name; Value = value;
            }
            public override string ToString()
            {
                // Generates the text shown in the combo box
                return Name;
            }
        }

        void KhoiTaoData()
        {
            cbbChuKyPhanBoKhauHao.Items.Add(new Item("Theo tháng", 1));
            cbbChuKyPhanBoKhauHao.Items.Add(new Item("Theo quý", 2));
            cbbChuKyPhanBoKhauHao.Items.Add(new Item("Theo năm", 3));

            cbbPhuongPhapKhauHao.Items.Add(new Item("Theo đường thẳng", 1));

            cbbDongTienHoachToan.DataSource = db.DongTienHoachToans.ToList();

            cbbHinhThucGhiSo.Items.Add(new Item("Sổ nhật ký chung", 1));

            cbbKieuTepExcel.Items.Add(new Item("Office 2007(.xlsx)", 1));
            cbbKieuTepExcel.Items.Add(new Item("Office 2003(.xls)", 2));

            cbbPhuongPhapXuatKho.Items.Add(new Item("Bình quân gia quyền", 1));

            cbbQuyDinh.Items.Add(new Item("48", 1));
        }
    }
}